﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Bussines;
using System.Data.SqlClient;

namespace ownx
{
    public partial class wfBefektetesek : System.Web.UI.Page
    {
        clBEFEKTETESEK _clBEFEKTETESEK;
        DataSet dsBEFEKTETESEK;
        clINTEZMENYEK_LIST _clIntezmenyek;
        clTIPUS_LIST _clTipusokBKF;
        clTIPUS_LIST _clTipusokBKT;

        int _PRT_ID = -1;

        #region Page load, datainit
        protected void Page_Load(object sender, EventArgs e)
        {
            TBLObj blObj = null;
            if (Session["BL"] != null)
            {
                blObj = (TBLObj)Session["BL"];
            }
         //   TBLObj blObj = new TBLObj("Test", Session["CONSTR"].ToString(), (clFIELDINFO_LIST)Session["FIELDINFO"]);
            _PRT_ID = Convert.ToInt32(Session["PRT_ID"].ToString());
            _clBEFEKTETESEK = new clBEFEKTETESEK(blObj, _PRT_ID);
            _clIntezmenyek = new clINTEZMENYEK_LIST(blObj,1);
            _clTipusokBKF = new clTIPUS_LIST(blObj, "BKF");
            _clTipusokBKT = new clTIPUS_LIST(blObj, "BKT");

            dsBEFEKTETESEK = _clBEFEKTETESEK.GetBEFEKTETESEK();

            //ha ez az első meghívás
            if (!(Page.IsPostBack))
            {
                DataInit();
            }
        }

        private void DataInit()
        {
            //feltöltöm a detasetet, majd a gridet
            dsBEFEKTETESEK = _clBEFEKTETESEK.GetBEFEKTETESEK();

            gvBEFEKTETESEK.DataSource = dsBEFEKTETESEK;
            gvBEFEKTETESEK.DataBind();


            if (dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows.Count > 0)
            {
                //kijelölöm az elsőt, és kitöltöm az editeket
                gvBEFEKTETESEK.SelectedIndex = 0;
                gvBEFEKTETESEK_SelectedIndexChanged(gvBEFEKTETESEK, null);
            }
        }
        #endregion

        protected void bVissza_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfPartnerChoice.aspx");
        }

        protected void bAlapadatok_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfPartner.aspx");
        }

        protected void bHitelek_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfHitelek.aspx");
        }

        protected void bMegj_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfMegjegyzes.aspx");
        }

        protected void bNyugdijak_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfNyugdij.aspx");
        }

        protected void bBefektetesek_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfBefektetesek.aspx");
        }

        protected void bEletBizt_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfBiztElet.aspx");
        }

        protected void bVagyonBizt_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender,e))
            Response.Redirect("wfBiztVagyon.aspx");
        }
        

        private void FillCombos()
        {
            Edit1.Items.Clear();
            Edit2.Items.Clear();
            Edit3.Items.Clear();
            Edit4.Items.Clear();


            ListItem liIGEN = new ListItem("Igen", "I");
            ListItem liNEM = new ListItem("Nem", "N");
            ListItem liMAGYAR = new ListItem("Magyar", "M");
            ListItem liKULFOLDI = new ListItem("Külföldi", "K");

            if (ddlBFT_TIPUS.SelectedValue == "BANK")
            {
                
                foreach (clINTEZMENYEK akti in _clIntezmenyek.lINTEZMENYEK)
                {
                    ListItem lii = new ListItem(akti.fINT_MEGNEVEZES, akti.fINT_ID.ToString());
                    Edit1.Items.Add(lii);
                }
                Edit2.Items.Add(liIGEN);
                Edit2.Items.Add(liNEM);

                foreach (clTIPUS akt in _clTipusokBKF.lTIPUS)
                {
                    ListItem li = new ListItem(akt.fTPS_MEGNEVEZES, akt.fTPS_TIPUSKOD.ToString());
                    Edit3.Items.Add(li);
                }
                foreach (clTIPUS akt in _clTipusokBKT.lTIPUS)
                {
                    ListItem li = new ListItem(akt.fTPS_MEGNEVEZES, akt.fTPS_TIPUSKOD.ToString());
                    Edit4.Items.Add(li);
                }
            }
            if (ddlBFT_TIPUS.SelectedValue == "TOZSD")
            {
                Edit1.Items.Add(liMAGYAR);
                Edit1.Items.Add(liKULFOLDI);
            }
            if (ddlBFT_TIPUS.SelectedValue == "BEFAL")
            {
                Edit1.Items.Add(liMAGYAR);
                Edit1.Items.Add(liKULFOLDI);
            }
            if (ddlBFT_TIPUS.SelectedValue == "BANKB")
            {
                foreach (clINTEZMENYEK akti in _clIntezmenyek.lINTEZMENYEK)
                {
                    ListItem lii = new ListItem(akti.fINT_MEGNEVEZES, akti.fINT_ID.ToString());
                    Edit1.Items.Add(lii);
                }
            }
            if (ddlBFT_TIPUS.SelectedValue == "EGYEB")
            {
                Edit1.Items.Add(liIGEN);
                Edit1.Items.Add(liNEM);
            }
        }
        protected void ddlBFT_TIPUS_SelectedIndexChanged(object sender, EventArgs e)
        {
           
            if (ddlBFT_TIPUS.SelectedValue == "BANK")
            {
                Label1.Text = "Bank:";
                Label2.Text = "Bankkártya:";
                Label3.Text = "Fajta:";
                Label4.Text = "Típus";
                Label5.Text = "";
                Label6.Text = "";
                Label7.Text = "Megnevezés";

                Label1.Visible = true;
                Label2.Visible = true;
                Label3.Visible = true;
                Label4.Visible = true;
                Label5.Visible = false;
                Label6.Visible = false;
                Label7.Visible = true;
            }
            if (ddlBFT_TIPUS.SelectedValue == "TOZSD")
            {
                Label1.Text = "Magyar/Külföldi:";
                Label2.Text = "";
                Label3.Text = "";
                Label4.Text = "";
                Label5.Text = "Összeg:";
                Label6.Text = "Előző év:";
                Label7.Text = "";

                Label1.Visible = true;
                Label2.Visible = false;
                Label3.Visible = false;
                Label4.Visible = false;
                Label5.Visible = true;
                Label6.Visible = true;
                Label7.Visible = false;
            }
            if (ddlBFT_TIPUS.SelectedValue == "BEFAL")
            {
                Label1.Text = "Magyar/Külföldi:";
                Label2.Text = "";
                Label3.Text = "";
                Label4.Text = "";
                Label5.Text = "Összeg:";
                Label6.Text = "Előző 2 év:";
                Label7.Text = "";

                Label1.Visible = true;
                Label2.Visible = false;
                Label3.Visible = false;
                Label4.Visible = false;
                Label5.Visible = true;
                Label6.Visible = true;
                Label7.Visible = false;
            }
            if (ddlBFT_TIPUS.SelectedValue == "BANKB")
            {
                Label1.Text = "Bank:";
                Label2.Text = "";
                Label3.Text = "";
                Label4.Text = "";
                Label5.Text = "Összeg:";
                Label6.Text = "Kamat:";
                Label7.Text = "";

                Label1.Visible = true;
                Label2.Visible = false;
                Label3.Visible = false;
                Label4.Visible = false;
                Label5.Visible = true;
                Label6.Visible = true;
                Label7.Visible = false;
            }
            if (ddlBFT_TIPUS.SelectedValue == "EGYEB")
            {
                Label1.Text = "Fundamenta:";
                Label2.Text = "";
                Label3.Text = "";
                Label4.Text = "";
                Label5.Text = "Összeg:";
                Label6.Text = "Futamidó:";
                Label7.Text = "Megnevezés:";

                Label1.Visible = true;
                Label2.Visible = false;
                Label3.Visible = false;
                Label4.Visible = false;
                Label5.Visible = true;
                Label6.Visible = true;
                Label7.Visible = true;
            }

            Edit1.Visible = Label1.Visible;
            Edit2.Visible = Label2.Visible;
            Edit3.Visible = Label3.Visible;
            Edit4.Visible = Label4.Visible;
            Edit5.Visible = Label5.Visible;
            Edit6.Visible = Label6.Visible;
            Edit7.Visible = Label7.Visible;

            FillCombos();
        }

        protected void bUj_Click(object sender, EventArgs e)
        {
            dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows.Add();

            gvBEFEKTETESEK.DataSource = dsBEFEKTETESEK;
            gvBEFEKTETESEK.DataBind();

            gvBEFEKTETESEK.SelectedIndex = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows.Count - 1;

            tbBFT_ID.Text = "-1";
            tbBFT_PRT_ID.Text = _PRT_ID.ToString();
            ddlBFT_TIPUS.SelectedIndex = 0;
            ddlBFT_TIPUS_SelectedIndexChanged(ddlBFT_TIPUS, null);

            Edit5.Text = "0";
            Edit6.Text = "0";
            Edit7.Text = "";
        }
        protected void bSave_Click(object sender, EventArgs e)
        {
            bool b = bSave_Click2(sender, e);
        }
        protected bool bSave_Click2(object sender, EventArgs e)
        {
            bool KellMent = true;
            int iBFT_ID = -1;
            int iBFT_PRT_ID = -1;
            string iBFT_TIPUS = "";
            int iBFT_BANK_INT_ID = -1; string iBFT_BANK_NEV = ""; string iBFT_BANK_KARTYA = "";
            int iBFT_BANK_KFAJTA = -1; int iBFT_BANK_KTIPUS = -1; string iBFT_BANK_KMIRE = "";
            string iBFT_TOZSD_VANE = ""; string iBFT_TOZSD_MAGYAR = ""; double iBFT_TOZSD_OSSZEG = -1; double iBFT_TOZSD_TELJ = -1;
            string iBFT_BEFAL_VANE = ""; string iBFT_BEFAL_MAGYAR = ""; double iBFT_BEFAL_OSSZEG = -1; double iBFT_BEFAL_TELJ = -1;
            int iBFT_BANKB_INT_ID = -1; double iBFT_BANKB_OSSZEG = -1; double iBFT_BANKB_KAMAT = -1;
            string iBFT_EGYEB_MEGJ = ""; string iBFT_EGYEB_FUNDAMENTA = ""; int iBFT_EGYEB_FUTAMIDO = -1; double iBFT_EGYEB_OSSZEG = -1;
            DateTime iBFT_CREATED = DateTime.Now; int iBFT_CREATED_BY = -1; DateTime iBFT_MODIFIED = DateTime.Now; int iBFT_MODIFIED_BY = -1;
            string oErr = "";
            try {
            iBFT_ID = Convert.ToInt32(tbBFT_ID.Text);
                                    }
            catch (Exception xx)
            {
                return true;
            }
            iBFT_PRT_ID = Convert.ToInt32(tbBFT_PRT_ID.Text);
            iBFT_TIPUS = ddlBFT_TIPUS.SelectedValue;
            iBFT_MODIFIED_BY = (int)Session["USR_ID"];
            iBFT_CREATED_BY = (int)Session["USR_ID"];

            if (ddlBFT_TIPUS.SelectedValue == "BANK")
            {
                iBFT_BANK_INT_ID = Convert.ToInt32(Edit1.SelectedValue);
                iBFT_BANK_NEV = Edit7.Text;
                iBFT_BANK_KARTYA = Edit2.SelectedValue.ToString();
                iBFT_BANK_KFAJTA = Convert.ToInt32(Edit3.SelectedValue);
                iBFT_BANK_KTIPUS = Convert.ToInt32(Edit4.SelectedValue);
            }
            if (ddlBFT_TIPUS.SelectedValue == "TOZSD")
            {
                iBFT_TOZSD_VANE = "I";
                iBFT_TOZSD_MAGYAR = Edit1.SelectedValue.ToString();
                try
                {
                    iBFT_TOZSD_OSSZEG = Convert.ToDouble(Edit5.Text);
                }
                catch 
                {
                    lMessage.Text = "Összeg nem megfelő formátumú!";
                    Edit5.Focus();
                    KellMent = false;
                }
                try
                {
                    iBFT_TOZSD_TELJ = Convert.ToDouble(Edit6.Text);
                }
                catch 
                {
                    lMessage.Text = "Teljestmény nem megfelő formátumú!";
                    Edit6.Focus();
                    KellMent = false;
                }
            }
            if (ddlBFT_TIPUS.SelectedValue == "BEFAL")
            {
                iBFT_BEFAL_VANE = "I";
                iBFT_BEFAL_MAGYAR = Edit1.SelectedValue.ToString();
                try
                {
                    iBFT_BEFAL_OSSZEG = Convert.ToDouble(Edit5.Text);
                }
                catch
                {
                    lMessage.Text = "Összeg nem megfelő formátumú!";
                    Edit5.Focus();
                    KellMent = false;
                }
                try
                {
                    iBFT_BEFAL_TELJ = Convert.ToDouble(Edit6.Text);
                }
                catch
                {
                    lMessage.Text = "Teljestmény nem megfelő formátumú!";
                    Edit6.Focus();
                    KellMent = false;
                }
            }
            if (ddlBFT_TIPUS.SelectedValue == "BANKB")
            {
                iBFT_BANKB_INT_ID = Convert.ToInt32(Edit1.SelectedValue);
                try
                {
                    iBFT_BANKB_OSSZEG = Convert.ToDouble(Edit5.Text);
                }
                catch
                {
                    lMessage.Text = "Összeg nem megfelő formátumú!";
                    Edit5.Focus();
                    KellMent = false;
                }
                try
                {
                    iBFT_BANKB_KAMAT = Convert.ToDouble(Edit6.Text);
                }
                catch
                {
                    lMessage.Text = "Kamat nem megfelő formátumú!";
                    Edit6.Focus();
                    KellMent = false;
                }
            }
            if (ddlBFT_TIPUS.SelectedValue == "EGYEB")
            {
                iBFT_EGYEB_FUNDAMENTA = Edit1.SelectedValue.ToString();
                try
                {
                    iBFT_EGYEB_OSSZEG = Convert.ToDouble(Edit5.Text);
                }
                catch
                {
                    lMessage.Text = "Összeg nem megfelő formátumú!";
                    Edit5.Focus();
                    KellMent = false;
                }
                try
                {
                    iBFT_EGYEB_FUTAMIDO = Convert.ToInt32(Edit6.Text);
                }
                catch
                {
                    lMessage.Text = "Futamidő nem megfelő formátumú!";
                    Edit6.Focus();
                    KellMent = false;
                }
                iBFT_EGYEB_MEGJ = Edit7.Text;
            }


            if (KellMent)
            {
                if (!(_clBEFEKTETESEK.SaveBEFEKTETESEK(iBFT_ID, iBFT_PRT_ID, iBFT_TIPUS,
                                          iBFT_BANK_INT_ID, iBFT_BANK_NEV, iBFT_BANK_KARTYA, iBFT_BANK_KFAJTA, iBFT_BANK_KTIPUS, iBFT_BANK_KMIRE,
                                          iBFT_TOZSD_VANE, iBFT_TOZSD_MAGYAR, iBFT_TOZSD_OSSZEG, iBFT_TOZSD_TELJ,
                                          iBFT_BEFAL_VANE, iBFT_BEFAL_MAGYAR, iBFT_BEFAL_OSSZEG, iBFT_BEFAL_TELJ,
                                          iBFT_BANKB_INT_ID, iBFT_BANKB_OSSZEG, iBFT_BANKB_KAMAT,
                                          iBFT_EGYEB_MEGJ, iBFT_EGYEB_FUNDAMENTA, iBFT_EGYEB_FUTAMIDO, iBFT_EGYEB_OSSZEG,
                                          iBFT_CREATED, iBFT_CREATED_BY, iBFT_MODIFIED, iBFT_MODIFIED_BY,
                                          ref oErr)))
                {
                    lMessage.Text = oErr;
                    return false;
                }
                else
                {
                    int si = gvBEFEKTETESEK.SelectedIndex;

                    DataInit();

                    gvBEFEKTETESEK.SelectedIndex = si;

                    gvBEFEKTETESEK_SelectedIndexChanged(sender, e);
                    lMessage.Text = "";
                    return true;
                }
            }
            return KellMent;
        }

        protected void gvBEFEKTETESEK_SelectedIndexChanged(object sender, EventArgs e)
        {
            string pTipus = "";
            pTipus = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_TIPUS"].ToString();
            //lépegetés a gridben
            tbBFT_ID.Text = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_ID"].ToString();
            tbBFT_PRT_ID.Text = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_PRT_ID"].ToString();
            ddlBFT_TIPUS.SelectedValue = pTipus ;
            ddlBFT_TIPUS_SelectedIndexChanged(ddlBFT_TIPUS, null);
            if (pTipus == "BANK")
            {
                Edit1.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANK_INT_ID"].ToString();
                Edit2.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANK_KARTYA"].ToString();
                Edit3.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANK_KFAJTA"].ToString();
                Edit4.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANK_KTIPUS"].ToString();   
                Edit7.Text = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANK_NEV"].ToString();    
            }
            if (pTipus == "TOZSD")
            {
                Edit1.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_TOZSD_MAGYAR"].ToString();
                Edit5.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_TOZSD_OSSZEG"].ToString() ) .ToString("F2");
                Edit6.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_TOZSD_TELJ"].ToString() ) .ToString("F2");
            }
            if (pTipus == "BEFAL")
            {
                Edit1.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BEFAL_MAGYAR"].ToString();
                Edit5.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BEFAL_OSSZEG"].ToString() ) .ToString("F2");
                Edit6.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BEFAL_TELJ"].ToString() ) .ToString("F2");
            }
            if (pTipus == "BANKB")
            {
                Edit1.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANKB_INT_ID"].ToString();
                Edit5.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANKB_OSSZEG"].ToString() ) .ToString("F2");
                Edit6.Text = Convert.ToDouble( dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_BANKB_KAMAT"].ToString() ) .ToString("F2");
            }
            if (pTipus == "EGYEB")
            {
                Edit1.SelectedValue = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_EGYEB_FUNDAMENTA"].ToString();
                Edit5.Text = Convert.ToDouble(dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_EGYEB_OSSZEG"].ToString()).ToString("F2");
                Edit6.Text = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_EGYEB_FUTAMIDO"].ToString();
                Edit7.Text = dsBEFEKTETESEK.Tables["BEFEKTETESEK"].Rows[gvBEFEKTETESEK.SelectedIndex]["BFT_EGYEB_MEGJ"].ToString();
            }
            

            lMessage.Text = "";
        }

        protected void gvBEFEKTETESEK_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.ID = e.Row.Cells[0].Text;
                e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.gvBEFEKTETESEK, "Select$" + e.Row.RowIndex);
                //e.Row.Attributes.Add("onclick", "GridView_selectRow(this,'" + e.Row.Cells[0].Text + "')");
                e.Row.Attributes.Add("onmouseover", "GridView_mouseHover(this)");
            }
        }

        protected void bVisszaFooldalra_Click(object sender, EventArgs e)
        {
            Response.Redirect("wfDefault.aspx");
        }
       

        

        
    }
}
